# coding=utf-8
from comment.ultils.tokens_pyjwt import verify_tokens
from flask import request,g
'''想要请求钩子生效的话，就要注册到app中'''
'''定义一个请求钩子：在请求进来之前得到request中携带token，开始验证token'''
def jwt_request_auth():
    '''
    从request中获取token，并且验证token，验证成功之后把用户ID保存到g中
    :return:
    '''
    g.user_id = None #定义一个变量
    #前端代码是把token携带在请求头中（所以用token）
    token = request.headers.get('token')

    if token is not None: #如果token不为空
        result = verify_tokens(token)
        if 'id' in result: #只要返回的字典中包含ID，验证成功
            g.user_id = result['id'] #因为他返回的是一个字典，所以用字典的方式去取值
